A polynomial is a mathematical expression of one or more algebraic terms, for example, “a+bx+cx2”, each of which consists of a constant (a, b or c) multiplied by one or more variables (x) raised to a nonnegative integral power. A fixed size remainder of binary division of a data block by an n-bit polynomial may be used to verify that there were no transmission errors when transmitting the data block from a source to a destination. An n-bit polynomial applied to a data block of arbitrary length detects any single error burst that is less than or equal to n bits.
The fixed size remainder is computed for a data block at a source and is transmitted with the data block. The n-bit polynomial is applied to the received data block at the destination to re-compute the fixed size remainder and the recomputed fixed size remainder is compared with the fixed size remainder transmitted with the data block to verify that there were no transmission errors.
A Cyclic Redundancy Check (CRC) is a term that is given to both a fixed size remainder (a residue of binary division of an arbitrary length data block by a fixed size polynomial) and the function to produce the fixed size remainder. There are a plurality of n-bit polynomials that are used to compute a CRC. Most commonly used CRCs use the Galois finite field GF (2) having a finite field of two elements, 0 and 1.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments of the claimed subject matter, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art. Accordingly, it is intended that the claimed subject matter be viewed broadly, and be defined only as set forth in the accompanying claims.